<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: pcl::io::LZFRGB24ImageReader类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">pcl::io::LZFRGB24ImageReader类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>PCL-LZF 24-bit <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> image format reader.  
 <a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="lzf__image__io_8h_source.html">lzf_image_io.h</a>&gt;</code></p>
<div class="dynheader">
类 pcl::io::LZFRGB24ImageReader 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.png" usemap="#pcl::io::LZFRGB24ImageReader_map" alt=""/>
  <map id="pcl::io::LZFRGB24ImageReader_map" name="pcl::io::LZFRGB24ImageReader_map">
<area href="classpcl_1_1io_1_1_l_z_f_image_reader.html" title="PCL-LZF image format reader. The PCL-LZF image format is nothing else but a LZF-modified compression ..." alt="pcl::io::LZFImageReader" shape="rect" coords="103,0,299,24"/>
<area href="classpcl_1_1io_1_1_l_z_f_bayer8_image_reader.html" title="PCL-LZF 8-bit Bayer image format reader." alt="pcl::io::LZFBayer8ImageReader" shape="rect" coords="0,112,196,136"/>
<area href="classpcl_1_1io_1_1_l_z_f_y_u_v422_image_reader.html" title="PCL-LZF 8-bit Bayer image format reader." alt="pcl::io::LZFYUV422ImageReader" shape="rect" coords="206,112,402,136"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:a05ded076d3f80c6d4cdb9444404fbdbf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a05ded076d3f80c6d4cdb9444404fbdbf">LZFRGB24ImageReader</a> ()</td></tr>
<tr class="separator:a05ded076d3f80c6d4cdb9444404fbdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e52dce20dc57178983a0f163c350486"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a0e52dce20dc57178983a0f163c350486">~LZFRGB24ImageReader</a> ()</td></tr>
<tr class="separator:a0e52dce20dc57178983a0f163c350486"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04e68d388618741c93b7ad523d48f6e6"><td class="memTemplParams" colspan="2">template&lt;typename PointT &gt; </td></tr>
<tr class="memitem:a04e68d388618741c93b7ad523d48f6e6"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a04e68d388618741c93b7ad523d48f6e6">read</a> (const std::string &amp;filename, <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;cloud)</td></tr>
<tr class="memdesc:a04e68d388618741c93b7ad523d48f6e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the data stored in a PCLZF <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> file and convert it to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">pcl::PointCloud</a> type.  <a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a04e68d388618741c93b7ad523d48f6e6">更多...</a><br /></td></tr>
<tr class="separator:a04e68d388618741c93b7ad523d48f6e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad309fd06b300a0712254ac3b7152e210"><td class="memTemplParams" colspan="2">template&lt;typename PointT &gt; </td></tr>
<tr class="memitem:ad309fd06b300a0712254ac3b7152e210"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#ad309fd06b300a0712254ac3b7152e210">readOMP</a> (const std::string &amp;filename, <a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;cloud, unsigned int num_threads=0)</td></tr>
<tr class="memdesc:ad309fd06b300a0712254ac3b7152e210"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the data stored in a PCLZF <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> file and convert it to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">pcl::PointCloud</a> type. Note that, unless massively multithreaded, this will likely not result in a significant speedup and may even slow performance.  <a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#ad309fd06b300a0712254ac3b7152e210">更多...</a><br /></td></tr>
<tr class="separator:ad309fd06b300a0712254ac3b7152e210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ea035c2055b2a2616fd7cc92d64cb7a"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a1ea035c2055b2a2616fd7cc92d64cb7a">readParameters</a> (std::istream &amp;is)</td></tr>
<tr class="memdesc:a1ea035c2055b2a2616fd7cc92d64cb7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read camera parameters from a given stream and store them internally. The parameters will be read from the &lt;rgb&gt; ... &lt;/rgb&gt; tag.  <a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a1ea035c2055b2a2616fd7cc92d64cb7a">更多...</a><br /></td></tr>
<tr class="separator:a1ea035c2055b2a2616fd7cc92d64cb7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba0cdb33d9d11c15113e0c168411367"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a4ba0cdb33d9d11c15113e0c168411367">readParameters</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:a4ba0cdb33d9d11c15113e0c168411367"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read camera parameters from a given file and store them internally.  <a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a4ba0cdb33d9d11c15113e0c168411367">更多...</a><br /></td></tr>
<tr class="separator:a4ba0cdb33d9d11c15113e0c168411367"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f0ab102d0eafdab81f2029e207c8980"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a4f0ab102d0eafdab81f2029e207c8980">readParameters</a> (std::istream &amp;)</td></tr>
<tr class="memdesc:a4f0ab102d0eafdab81f2029e207c8980"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read camera parameters from a given stream and store them internally.  <a href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html#a4f0ab102d0eafdab81f2029e207c8980">更多...</a><br /></td></tr>
<tr class="separator:a4f0ab102d0eafdab81f2029e207c8980"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html">pcl::io::LZFImageReader</a></td></tr>
<tr class="memitem:a93527a7ba63157131e11b2247d421ac1 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a93527a7ba63157131e11b2247d421ac1">LZFImageReader</a> ()</td></tr>
<tr class="separator:a93527a7ba63157131e11b2247d421ac1 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf32c3a1e11ac9829990d0374c437948 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#aaf32c3a1e11ac9829990d0374c437948">~LZFImageReader</a> ()</td></tr>
<tr class="separator:aaf32c3a1e11ac9829990d0374c437948 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba0cdb33d9d11c15113e0c168411367 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a4ba0cdb33d9d11c15113e0c168411367">readParameters</a> (const std::string &amp;filename)</td></tr>
<tr class="memdesc:a4ba0cdb33d9d11c15113e0c168411367 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read camera parameters from a given file and store them internally.  <a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a4ba0cdb33d9d11c15113e0c168411367">更多...</a><br /></td></tr>
<tr class="separator:a4ba0cdb33d9d11c15113e0c168411367 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3227ab82a63e2d7ccb404fa3aeda9f3c inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a3227ab82a63e2d7ccb404fa3aeda9f3c">setParameters</a> (const <a class="el" href="structpcl_1_1io_1_1_camera_parameters.html">CameraParameters</a> &amp;parameters)</td></tr>
<tr class="memdesc:a3227ab82a63e2d7ccb404fa3aeda9f3c inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the parameters from a struct instead  <a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a3227ab82a63e2d7ccb404fa3aeda9f3c">更多...</a><br /></td></tr>
<tr class="separator:a3227ab82a63e2d7ccb404fa3aeda9f3c inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abeb856e9a557e7f31c7da1139986c15f inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="abeb856e9a557e7f31c7da1139986c15f"></a>
<a class="el" href="structpcl_1_1io_1_1_camera_parameters.html">CameraParameters</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#abeb856e9a557e7f31c7da1139986c15f">getParameters</a> () const</td></tr>
<tr class="memdesc:abeb856e9a557e7f31c7da1139986c15f inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the camera parameters currently being used returns a <a class="el" href="structpcl_1_1io_1_1_camera_parameters.html" title="Basic camera parameters placeholder.">CameraParameters</a> struct <br /></td></tr>
<tr class="separator:abeb856e9a557e7f31c7da1139986c15f inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d82b0b1ed44f9bf0cfb6096f3a53cc1 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="a5d82b0b1ed44f9bf0cfb6096f3a53cc1"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () const</td></tr>
<tr class="memdesc:a5d82b0b1ed44f9bf0cfb6096f3a53cc1 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the image width as read from disk. <br /></td></tr>
<tr class="separator:a5d82b0b1ed44f9bf0cfb6096f3a53cc1 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c0f4da5461f686726dbe3b5b8698017 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="a6c0f4da5461f686726dbe3b5b8698017"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> () const</td></tr>
<tr class="memdesc:a6c0f4da5461f686726dbe3b5b8698017 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the image height as read from disk. <br /></td></tr>
<tr class="separator:a6c0f4da5461f686726dbe3b5b8698017 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae380cfe42ff466bad51e8a2d7b6fd707 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="ae380cfe42ff466bad51e8a2d7b6fd707"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ae380cfe42ff466bad51e8a2d7b6fd707">getImageType</a> () const</td></tr>
<tr class="memdesc:ae380cfe42ff466bad51e8a2d7b6fd707 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the type of the image read from disk. <br /></td></tr>
<tr class="separator:ae380cfe42ff466bad51e8a2d7b6fd707 inherit pub_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader')"><img src="closed.png" alt="-"/>&#160;Protected 成员函数 继承自 <a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html">pcl::io::LZFImageReader</a></td></tr>
<tr class="memitem:ac9431f9c74fd56f8108a19af4d24fdac inherit pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ac9431f9c74fd56f8108a19af4d24fdac">loadImageBlob</a> (const std::string &amp;filename, std::vector&lt; char &gt; &amp;data, uint32_t &amp;uncompressed_size)</td></tr>
<tr class="memdesc:ac9431f9c74fd56f8108a19af4d24fdac inherit pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Load a compressed image array from disk  <a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ac9431f9c74fd56f8108a19af4d24fdac">更多...</a><br /></td></tr>
<tr class="separator:ac9431f9c74fd56f8108a19af4d24fdac inherit pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f50561119e7c71204e6fbacdba863f0 inherit pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a7f50561119e7c71204e6fbacdba863f0">decompress</a> (const std::vector&lt; char &gt; &amp;input, std::vector&lt; char &gt; &amp;output)</td></tr>
<tr class="memdesc:a7f50561119e7c71204e6fbacdba863f0 inherit pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Realtime LZF decompression.  <a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a7f50561119e7c71204e6fbacdba863f0">更多...</a><br /></td></tr>
<tr class="separator:a7f50561119e7c71204e6fbacdba863f0 inherit pro_methods_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html">pcl::io::LZFImageReader</a></td></tr>
<tr class="memitem:aa80c1010e065458944af9ca5ead3b454 inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="aa80c1010e065458944af9ca5ead3b454"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#aa80c1010e065458944af9ca5ead3b454">width_</a></td></tr>
<tr class="memdesc:aa80c1010e065458944af9ca5ead3b454 inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">The image width, as read from the file. <br /></td></tr>
<tr class="separator:aa80c1010e065458944af9ca5ead3b454 inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb1cceb25b4712488861753121de8ce3 inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="adb1cceb25b4712488861753121de8ce3"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#adb1cceb25b4712488861753121de8ce3">height_</a></td></tr>
<tr class="memdesc:adb1cceb25b4712488861753121de8ce3 inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">The image height, as read from the file. <br /></td></tr>
<tr class="separator:adb1cceb25b4712488861753121de8ce3 inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28bc8e341b09cbf4ef39b89521900f0c inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="a28bc8e341b09cbf4ef39b89521900f0c"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a28bc8e341b09cbf4ef39b89521900f0c">image_type_identifier_</a></td></tr>
<tr class="memdesc:a28bc8e341b09cbf4ef39b89521900f0c inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">The image type string, as read from the file. <br /></td></tr>
<tr class="separator:a28bc8e341b09cbf4ef39b89521900f0c inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaccfe5ec36e1a136234fa07bfc23d0d inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memItemLeft" align="right" valign="top"><a id="aeaccfe5ec36e1a136234fa07bfc23d0d"></a>
<a class="el" href="structpcl_1_1io_1_1_camera_parameters.html">CameraParameters</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#aeaccfe5ec36e1a136234fa07bfc23d0d">parameters_</a></td></tr>
<tr class="memdesc:aeaccfe5ec36e1a136234fa07bfc23d0d inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal set of camera parameters. <br /></td></tr>
<tr class="separator:aeaccfe5ec36e1a136234fa07bfc23d0d inherit pro_attribs_classpcl_1_1io_1_1_l_z_f_image_reader"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>PCL-LZF 24-bit <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> image format reader. </p>
<p>The main advantage of using the PCL-LZF image I/O routines is a very good file size versus I/O speed ratio. Tests performed using LZF, Snappy, ZIP, GZ2, BZIP2, as well as PNG, JPEG, and TIFF compression have shown that the internal PCL LZF methods provide the best score for the types of applications PCL is suited for.</p>
<dl class="section author"><dt>作者</dt><dd>Radu B. Rusu </dd></dl>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="a05ded076d3f80c6d4cdb9444404fbdbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05ded076d3f80c6d4cdb9444404fbdbf">&#9670;&nbsp;</a></span>LZFRGB24ImageReader()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">pcl::io::LZFRGB24ImageReader::LZFRGB24ImageReader </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Empty constructor </p>
<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;: <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a93527a7ba63157131e11b2247d421ac1">LZFImageReader</a> () {}</div>
<div class="ttc" id="aclasspcl_1_1io_1_1_l_z_f_image_reader_html_a93527a7ba63157131e11b2247d421ac1"><div class="ttname"><a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a93527a7ba63157131e11b2247d421ac1">pcl::io::LZFImageReader::LZFImageReader</a></div><div class="ttdeci">LZFImageReader()</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0e52dce20dc57178983a0f163c350486"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e52dce20dc57178983a0f163c350486">&#9670;&nbsp;</a></span>~LZFRGB24ImageReader()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual pcl::io::LZFRGB24ImageReader::~LZFRGB24ImageReader </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Empty destructor </p>
<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;{}</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="a04e68d388618741c93b7ad523d48f6e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04e68d388618741c93b7ad523d48f6e6">&#9670;&nbsp;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::io::LZFRGB24ImageReader::read </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>cloud</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read the data stored in a PCLZF <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> file and convert it to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">pcl::PointCloud</a> type. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the file name to read the data from </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">cloud</td><td>the resultant output point cloud </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;{</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;  uint32_t uncompressed_size;</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  std::vector&lt;char&gt; compressed_data;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ac9431f9c74fd56f8108a19af4d24fdac">loadImageBlob</a> (filename, compressed_data, uncompressed_size))</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;  {</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::io::LZFRGB24ImageReader::read] Unable to read image data from %s.\n&quot;</span>, filename.c_str ());</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  }</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160; </div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;  <span class="keywordflow">if</span> (uncompressed_size != <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> () * 3)</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;  {</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    PCL_DEBUG (<span class="stringliteral">&quot;[pcl::io::LZFRGB24ImageReader::read] Uncompressed data has wrong size (%u), while in fact it should be %u bytes. \n[pcl::io::LZFRGB24ImageReader::read] Are you sure %s is a 24-bit RGB PCLZF file? Identifier says: %s\n&quot;</span>, uncompressed_size, <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> () * 3, filename.c_str (), <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ae380cfe42ff466bad51e8a2d7b6fd707">getImageType</a> ().c_str ());</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;  }</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;  std::vector&lt;char&gt; uncompressed_data (uncompressed_size);</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;  <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a7f50561119e7c71204e6fbacdba863f0">decompress</a> (compressed_data, uncompressed_data);</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160; </div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;  <span class="keywordflow">if</span> (uncompressed_data.empty ())</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;  {</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::io::LZFRGB24ImageReader::read] Error uncompressing data stored in %s!\n&quot;</span>, filename.c_str ());</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;  }</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;  <span class="comment">// Copy to PointT</span></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;  cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>  = <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> ();</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;  cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ();</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;  cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (<a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ());</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;  <span class="keywordtype">int</span> rgb_idx = 0;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *color_r = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;uncompressed_data[0]);</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *color_g = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;uncompressed_data[<a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ()]);</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *color_b = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;uncompressed_data[2 * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ()]);</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; cloud.size (); ++i, ++rgb_idx)</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;  {</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;pt = cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>[i];</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160; </div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    pt.b = color_b[rgb_idx];</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    pt.g = color_g[rgb_idx];</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    pt.r = color_r[rgb_idx];</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;  }</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;  <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;}</div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a2185a6453f8ad905d7bdf7b45754a160"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">pcl::PointCloud::width</a></div><div class="ttdeci">uint32_t width</div><div class="ttdoc">The point cloud width (if organized as an image-structure).</div><div class="ttdef"><b>Definition:</b> point_cloud.h:413</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a2d60b6927b31ef89cd3b97e8173ea4aa"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">pcl::PointCloud::resize</a></div><div class="ttdeci">void resize(size_t n)</div><div class="ttdoc">Resize the cloud</div><div class="ttdef"><b>Definition:</b> point_cloud.h:455</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_a4f34b45220c57f96607513ffad0d9582"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">pcl::PointCloud::height</a></div><div class="ttdeci">uint32_t height</div><div class="ttdoc">The point cloud height (if organized as an image-structure).</div><div class="ttdef"><b>Definition:</b> point_cloud.h:415</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html_af16a62638198313b9c093127c492c884"><div class="ttname"><a href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">pcl::PointCloud::points</a></div><div class="ttdeci">std::vector&lt; PointT, Eigen::aligned_allocator&lt; PointT &gt; &gt; points</div><div class="ttdoc">The point data.</div><div class="ttdef"><b>Definition:</b> point_cloud.h:410</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_l_z_f_image_reader_html_a5d82b0b1ed44f9bf0cfb6096f3a53cc1"><div class="ttname"><a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">pcl::io::LZFImageReader::getWidth</a></div><div class="ttdeci">uint32_t getWidth() const</div><div class="ttdoc">Get the image width as read from disk.</div><div class="ttdef"><b>Definition:</b> lzf_image_io.h:118</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_l_z_f_image_reader_html_a6c0f4da5461f686726dbe3b5b8698017"><div class="ttname"><a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">pcl::io::LZFImageReader::getHeight</a></div><div class="ttdeci">uint32_t getHeight() const</div><div class="ttdoc">Get the image height as read from disk.</div><div class="ttdef"><b>Definition:</b> lzf_image_io.h:125</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_l_z_f_image_reader_html_a7f50561119e7c71204e6fbacdba863f0"><div class="ttname"><a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a7f50561119e7c71204e6fbacdba863f0">pcl::io::LZFImageReader::decompress</a></div><div class="ttdeci">bool decompress(const std::vector&lt; char &gt; &amp;input, std::vector&lt; char &gt; &amp;output)</div><div class="ttdoc">Realtime LZF decompression.</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_l_z_f_image_reader_html_ac9431f9c74fd56f8108a19af4d24fdac"><div class="ttname"><a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ac9431f9c74fd56f8108a19af4d24fdac">pcl::io::LZFImageReader::loadImageBlob</a></div><div class="ttdeci">bool loadImageBlob(const std::string &amp;filename, std::vector&lt; char &gt; &amp;data, uint32_t &amp;uncompressed_size)</div><div class="ttdoc">Load a compressed image array from disk</div></div>
<div class="ttc" id="aclasspcl_1_1io_1_1_l_z_f_image_reader_html_ae380cfe42ff466bad51e8a2d7b6fd707"><div class="ttname"><a href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ae380cfe42ff466bad51e8a2d7b6fd707">pcl::io::LZFImageReader::getImageType</a></div><div class="ttdeci">std::string getImageType() const</div><div class="ttdoc">Get the type of the image read from disk.</div><div class="ttdef"><b>Definition:</b> lzf_image_io.h:132</div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_z_r_g_b_a_html"><div class="ttname"><a href="structpcl_1_1_point_x_y_z_r_g_b_a.html">pcl::PointXYZRGBA</a></div><div class="ttdoc">A point structure representing Euclidean xyz coordinates, and the RGBA color.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:540</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad309fd06b300a0712254ac3b7152e210"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad309fd06b300a0712254ac3b7152e210">&#9670;&nbsp;</a></span>readOMP()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointT &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::io::LZFRGB24ImageReader::readOMP </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a>&lt; <a class="el" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; &amp;&#160;</td>
          <td class="paramname"><em>cloud</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num_threads</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read the data stored in a PCLZF <a class="el" href="structpcl_1_1_r_g_b.html" title="A structure representing RGB color information.">RGB</a> file and convert it to a <a class="el" href="classpcl_1_1_point_cloud.html" title="PointCloud represents the base class in PCL for storing collections of 3D points.">pcl::PointCloud</a> type. Note that, unless massively multithreaded, this will likely not result in a significant speedup and may even slow performance. </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the file name to read the data from </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">num_threads</td><td>The number of threads to use </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">cloud</td><td>the resultant output point cloud </td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;{</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;  uint32_t uncompressed_size;</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;  std::vector&lt;char&gt; compressed_data;</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;  <span class="keywordflow">if</span> (!<a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ac9431f9c74fd56f8108a19af4d24fdac">loadImageBlob</a> (filename, compressed_data, uncompressed_size))</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  {</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::io::LZFRGB24ImageReader::read] Unable to read image data from %s.\n&quot;</span>, filename.c_str ());</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;  }</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  <span class="keywordflow">if</span> (uncompressed_size != <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> () * 3)</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  {</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    PCL_DEBUG (<span class="stringliteral">&quot;[pcl::io::LZFRGB24ImageReader::read] Uncompressed data has wrong size (%u), while in fact it should be %u bytes. \n[pcl::io::LZFRGB24ImageReader::read] Are you sure %s is a 24-bit RGB PCLZF file? Identifier says: %s\n&quot;</span>, uncompressed_size, <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> () * 3, filename.c_str (), <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#ae380cfe42ff466bad51e8a2d7b6fd707">getImageType</a> ().c_str ());</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;  }</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160; </div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;  std::vector&lt;char&gt; uncompressed_data (uncompressed_size);</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;  <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a7f50561119e7c71204e6fbacdba863f0">decompress</a> (compressed_data, uncompressed_data);</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;  <span class="keywordflow">if</span> (uncompressed_data.empty ())</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  {</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    PCL_ERROR (<span class="stringliteral">&quot;[pcl::io::LZFRGB24ImageReader::read] Error uncompressing data stored in %s!\n&quot;</span>, filename.c_str ());</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    <span class="keywordflow">return</span> (<span class="keyword">false</span>);</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;  }</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160; </div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;  <span class="comment">// Copy to PointT</span></div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;  cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a2185a6453f8ad905d7bdf7b45754a160">width</a>  = <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> ();</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;  cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a4f34b45220c57f96607513ffad0d9582">height</a> = <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ();</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;  cloud.<a class="code" href="classpcl_1_1_point_cloud.html#a2d60b6927b31ef89cd3b97e8173ea4aa">resize</a> (<a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ());</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160; </div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *color_r = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;uncompressed_data[0]);</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *color_g = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;uncompressed_data[<a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ()]);</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *color_b = <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>*<span class="keyword">&gt;</span> (&amp;uncompressed_data[2 * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a5d82b0b1ed44f9bf0cfb6096f3a53cc1">getWidth</a> () * <a class="code" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a6c0f4da5461f686726dbe3b5b8698017">getHeight</a> ()]);</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160; </div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;<span class="preprocessor">#ifdef _OPENMP</span></div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;<span class="preprocessor">#pragma omp parallel for num_threads (num_threads)</span></div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;<span class="preprocessor">#endif</span><span class="comment">//_OPENMP</span></div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;  <span class="keywordflow">for</span> (<span class="keywordtype">long</span> <span class="keywordtype">int</span> i = 0; i &lt; cloud.size (); ++i)</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;  {</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;pt = cloud.<a class="code" href="classpcl_1_1_point_cloud.html#af16a62638198313b9c093127c492c884">points</a>[i];</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160; </div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;    pt.b = color_b[i];</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    pt.g = color_g[i];</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    pt.r = color_r[i];</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;  }</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;  <span class="keywordflow">return</span> (<span class="keyword">true</span>);</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a4ba0cdb33d9d11c15113e0c168411367"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ba0cdb33d9d11c15113e0c168411367">&#9670;&nbsp;</a></span>readParameters() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool pcl::io::LZFImageReader::readParameters</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read camera parameters from a given file and store them internally. </p>
<dl class="section return"><dt>返回</dt><dd>true if operation successful, false otherwise </dd></dl>

</div>
</div>
<a id="a4f0ab102d0eafdab81f2029e207c8980"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f0ab102d0eafdab81f2029e207c8980">&#9670;&nbsp;</a></span>readParameters() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool pcl::io::LZFImageReader::readParameters</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read camera parameters from a given stream and store them internally. </p>
<dl class="section return"><dt>返回</dt><dd>true if operation successful, false otherwise </dd></dl>
<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;{ <span class="keywordflow">return</span> (<span class="keyword">false</span>); }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1ea035c2055b2a2616fd7cc92d64cb7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ea035c2055b2a2616fd7cc92d64cb7a">&#9670;&nbsp;</a></span>readParameters() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool pcl::io::LZFRGB24ImageReader::readParameters </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&#160;</td>
          <td class="paramname"><em>is</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read camera parameters from a given stream and store them internally. The parameters will be read from the &lt;rgb&gt; ... &lt;/rgb&gt; tag. </p>
<dl class="section return"><dt>返回</dt><dd>true if operation successful, false otherwise </dd></dl>

<p>重载 <a class="el" href="classpcl_1_1io_1_1_l_z_f_image_reader.html#a4f0ab102d0eafdab81f2029e207c8980">pcl::io::LZFImageReader</a> .</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>io/include/pcl/io/<a class="el" href="lzf__image__io_8h_source.html">lzf_image_io.h</a></li>
<li>io/include/pcl/io/impl/<a class="el" href="lzf__image__io_8hpp_source.html">lzf_image_io.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>pcl</b></li><li class="navelem"><b>io</b></li><li class="navelem"><a class="el" href="classpcl_1_1io_1_1_l_z_f_r_g_b24_image_reader.html">LZFRGB24ImageReader</a></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
